package com.itheima.session;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

@WebServlet("/cart")
public class CartServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //接收到买的 东西
       // 设置编码
        request.setCharacterEncoding("utf-8");
        //我们解析前端提交的商品
        String[] goods = request.getParameterValues("goods");

        //你知道它这次是第一次提交  不是第一次呢？
        // 第一次 新搞一个购物车
        // 不是第一次 就用之前的购物车
        //  去哪购物车   因为我们想要保证多次请求 使用同一个空间
        //  空间 属于某个用户，所以使用 session域空间
        Set<String> cart = (Set<String>)request.getSession().getAttribute("cart");

        if(cart==null){//说明是第一次购物 构建一个购物车对象
              cart = new HashSet<>();
             //存储
            //先做个判断  万一提交的表单中没有勾选商品，
            if(goods!=null&&goods.length>0){//页面购物车选择了商品
                Collections.addAll(cart,goods);
            }
        }else{
           //已经有购物车
            //先做个判断  万一提交的表单中没有勾选商品，
            if(goods!=null&&goods.length>0){//页面购物车选择了商品
                Collections.addAll(cart,goods);
            }
        }

        //物品添加成功   购物车已经更新了
        request.getSession().setAttribute("cart",cart);
        //我后台能不能自己查看商品有什么
        cart.forEach(System.out::println);

        //响应
        //查看购物车里面的内容？
        // 输出一个标签 完成页面跳转
        response.setContentType("text/html;charset=utf-8");

        response.getWriter().write("<h1>添加购物车成功</h1>" +
                "<a href='showCart.jsp'>查看购物车</a><br/>" +
                "<a href='index.html'>回到主页</a>");

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}
